/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.commons.domain.salesman;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 业务员套餐表（存储可购买的套餐配置）
 */
@Data
@TableName("cere_agent_salesman_package")
@ApiModel(value = "CereAgentSalesmanPackage", description = "业务员套餐表")
public class CereAgentSalesmanPackage implements Serializable {

  /**
   * 套餐ID
   */
  @TableId(value = "package_id", type = IdType.AUTO)
  @ApiModelProperty(value = "套餐ID")
  private Long packageId;

  /**
   * 套餐名称（如"年度业务员套餐""季度体验套餐"）
   */
  @TableField("package_name")
  @ApiModelProperty(value = "套餐名称")
  private String packageName;

  /**
   * 套餐售价（单位：元）
   */
  @TableField("package_price")
  @ApiModelProperty(value = "套餐售价")
  private BigDecimal packagePrice;

  /**
   * 套餐有效期（单位：天，如365=1年）
   */
  @TableField("valid_days")
  @ApiModelProperty(value = "套餐有效期（天）")
  private Integer validDays;

  /**
   * 套餐权益描述（如"享8%分润、专属客服"）
   */
  @TableField("description")
  @ApiModelProperty(value = "套餐权益描述")
  private String description;

  /**
   * 套餐状态：1-启用，0-未启用
   */
  @TableField("state")
  @ApiModelProperty(value = "套餐状态：1-启用，0-未启用")
  private Integer state;

  /**
   * 展示排序（数字越小越靠前）
   */
  @TableField("sort")
  @ApiModelProperty(value = "展示排序")
  private Integer sort;

  /**
   * 创建时间
   */
  @TableField("create_time")
  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新时间
   */
  @TableField("update_time")
  @ApiModelProperty(value = "更新时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime updateTime;

  private static final long serialVersionUID = 1L;
}
